// ---------- RGB String Example ----------
// RGB string: rgb(30, 30, 30), rgb(2, 136, 209)

// type Rgb = string;
// const notRgb: Rgb = "a;sdlfja;lsd";

type RgbCss = `rgb(${number}, ${number}, ${number})`;
const rbg: RgbCss = "rgb(30, 30, 30)";

type Rgb = `rgb(${number},${"" | " "}${number},${"" | " "}${number})`;
const rbg1: Rgb = "rgb(255 , 30,30)";
const rbg2: Rgb = "rgb(30,   30, 30)";
const rbg3: Rgb = "rgb(30,30,    30)";

// ---------- Gap Type Example ----------
// margin-left, margin-top, padding-bottom, etc.

type Gap = "margin" | "padding";
type Position = "left" | "top" | "right" | "bottom";

type GapCss = `${Gap}-${Position}`;

type Size = "rem" | "em" | "px";
type SizeCss = `${number}${Size}`;

type GapObject = {
  gap: GapCss;
  size: SizeCss;
};

const marginTop6Rem: GapObject = {
  gap: "margin-top",
  size: "6rem",
};

// ---------- Built-In Functions ----------

const uuid = crypto.randomUUID();
console.log(uuid);
